<!doctype html>
<html>
  <title>npm-search</title>
  <meta charset="utf-8">
  <link rel="stylesheet" type="text/css" href="../../static/style.css">
  <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-search.html">
  <script async=true src="../../static/toc.js"></script>

  <body>
    <div id="wrapper">

<h1><a href="../cli/npm-search.html">npm-search</a></h1> <p>Search for packages</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm search [-l|--long] [--json] [--parseable] [--no-description] [search terms ...]

aliases: s, se, find</code></pre><h2 id="description">DESCRIPTION</h2>
<p>Search the registry for packages matching the search terms. <code>npm search</code>
performs a linear, incremental, lexically-ordered search through package
metadata for all files in the registry. If color is enabled, it will further
highlight the matches in the results.</p>
<p>Additionally, using the <code>--searchopts</code> and <code>--searchexclude</code> options paired with
more search terms will respectively include and exclude further patterns. The
main difference between <code>--searchopts</code> and the standard search terms is that the
former does not highlight results in the output and can be used for more
fine-grained filtering. Additionally, both of these can be added to <code>.npmrc</code> for
default search filtering behavior.</p>
<p>Search also allows targeting of maintainers in search results, by prefixing
their npm username with <code>=</code>.</p>
<p>If a term starts with <code>/</code>, then it&#39;s interpreted as a regular expression and
supports standard JavaScript RegExp syntax. A trailing <code>/</code> will be ignored in
this case. (Note that many regular expression characters must be escaped or
quoted in most shells.)</p>
<h3 id="a-note-on-caching">A Note on caching</h3>
<h2 id="configuration">CONFIGURATION</h2>
<h3 id="description">description</h3>
<ul>
<li>Default: true</li>
<li>Type: Boolean</li>
</ul>
<p>Used as <code>--no-description</code>, disables search matching in package descriptions and
suppresses display of that field in results.</p>
<h3 id="json">json</h3>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
</ul>
<p>Output search results as a JSON array.</p>
<h3 id="parseable">parseable</h3>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
</ul>
<p>Output search results as lines with tab-separated columns.</p>
<h3 id="long">long</h3>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
</ul>
<p>Display full package descriptions and other long text across multiple
lines. When disabled (default) search results are truncated to fit
neatly on a single line. Modules with extremely long names will
fall on multiple lines.</p>
<h3 id="searchopts">searchopts</h3>
<ul>
<li>Default: &quot;&quot;</li>
<li>Type: String</li>
</ul>
<p>Space-separated options that are always passed to search.</p>
<h3 id="searchexclude">searchexclude</h3>
<ul>
<li>Default: &quot;&quot;</li>
<li>Type: String</li>
</ul>
<p>Space-separated options that limit the results from search.</p>
<h3 id="searchstaleness">searchstaleness</h3>
<ul>
<li>Default: 900 (15 minutes)</li>
<li>Type: Number</li>
</ul>
<p>The age of the cache, in seconds, before another registry request is made.</p>
<h3 id="registry">registry</h3>
<ul>
<li>Default: <a href="https://registry.npmjs.org/">https://registry.npmjs.org/</a></li>
<li>Type: url</li>
</ul>
<p>Search the specified registry for modules. If you have configured npm to point
to a different default registry, such as your internal private module
repository, <code>npm search</code> will default to that registry when searching. Pass a
different registry url such as the default above in order to override this
setting.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../misc/npm-registry.html">npm-registry(7)</a></li>
<li><a href="../cli/npm-config.html">npm-config(1)</a></li>
<li><a href="../misc/npm-config.html">npm-config(7)</a></li>
<li><a href="../files/npmrc.html">npmrc(5)</a></li>
<li><a href="../cli/npm-view.html">npm-view(1)</a></li>
</ul>

</div>

<table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
<tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18>&nbsp;</td></tr>
<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td colspan=6 style="width:60px;height:10px;background:#fff">&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td></tr>
<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2>&nbsp;</td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td></tr>
<tr><td style="width:10px;height:10px;background:#fff" rowspan=2>&nbsp;</td></tr>
<tr><td style="width:10px;height:10px;background:#fff">&nbsp;</td></tr>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-search &mdash; npm@6.4.1</p>

